const joi = require("joi");

// username表示：1. 必须是字符串类型 2. 必须是字母或数字 3. 必须是1-10个字符 4. 必须是必填项 5. 不能包含空格
// const username = joi
//   .string()
//   .alphanum() // 只能是字母和数字
//   .min(1) // 最小长度1
//   .max(10) // 最大长度10
//   .pattern(/^\S*$/) // 不能包含空格
//   .required(); // 必填项

// password表示：1. 必须是字符串类型 2. 必须是字母或数字 3. 必须是6-12个字符 4. 必须是必填项 5. 不能包含空格
// const password = joi
//   .string()
//   .pattern(/^[\S]{6,12}$/) // 不能包含空格
//   .required();

// email表示：1. 必须是字符串类型 2. 必须是邮箱格式
const email = joi.string().email().optional().allow(""); // 允许为空字符串

// nickname表示：1. 必须是字符串类型 2. 必须是字母或数字 3. 必须是1-10个字符 4. 不能包含空格
const nickname = joi
  .string()
  .alphanum() // 只能是字母和数字
  .min(1) // 最小长度1
  .max(10) // 最大长度10
  .pattern(/^\S*$/) // 不能包含空格
  .allow("") // 允许为空字符串
  .optional(); // 可选项--字段是否存在

// base64格式图片
const user_pic = joi
  .string()
  .dataUri() // 必须是base64格式图片
  .allow("") // 允许为空字符串
  .optional(); // 可选项--字段是否存在
// 注册和登录表单的验证规则对象
exports.update_schema = {
  nickname,
  email,
  user_pic,
};
